import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { HttpClientModule  } from '@angular/common/http';
import { AppComponent } from './app.component';
import { FormsModule } from '@angular/forms';
import { BroadcastService } from './services/broadcast.service';

import { DevUIModule } from 'ng-devui';
import { SplitterModule } from 'ng-devui/splitter';
import { AccordionModule } from 'ng-devui/accordion';
import { DataTableModule } from 'ng-devui/data-table';
import { SearchModule } from 'ng-devui/search';
import { ModalModule } from 'ng-devui/modal';
import { DialogService } from 'ng-devui/modal';
import { ButtonModule } from 'ng-devui/button';
import { ToastModule } from 'ng-devui/toast';
import { LoadingModule } from 'ng-devui/loading';
import { SelectModule } from 'ng-devui/select';
import { FormModule } from 'ng-devui/form';

import { LoginComponent } from './components/login/login.component';
import { MainPageComponent } from './components/main-page/main-page.component';
import { FilesTreeComponent } from './components/files-tree/files-tree.component';
import { ToolBarComponent } from './components/tool-bar/tool-bar.component';
import { ExcelTableComponent } from './components/excel-table/excel-table.component';
import { UserInfoComponent } from './components/user-info/user-info.component';
import { AddUserComponent } from './components/add-user/add-user.component';

@NgModule({
    declarations: [
        AppComponent,
        ToolBarComponent,
        ExcelTableComponent,
        MainPageComponent,
        FilesTreeComponent,
        LoginComponent,
        UserInfoComponent,
        AddUserComponent,
    ],
    imports: [
        BrowserModule,
        AppRoutingModule,
        BrowserAnimationsModule,
        DevUIModule,
        SplitterModule,
        AccordionModule,
        DataTableModule,
        FormsModule,
        SearchModule,
        ModalModule,
        ToastModule,
        ButtonModule,
        HttpClientModule,
        LoadingModule,
        SelectModule,
        FormModule,
    ],
    providers: [BroadcastService, DialogService],
    bootstrap: [AppComponent],
})
export class AppModule { }
